1. Field of the Invention
The present invention relates generally to apparatus and methods for controlling devices such as laser printers. More particularly, the present invention relates to an apparatus and method for improving the through-put of a laser printer and for increasing the number of fonts or styles accessible for output from the laser printer.
2. Brief Description of the Prior Art
Laser printers are one of the most popular printing devices in the office automation environment due to their rapid printing speed, and superior print quality. In addition, an enormous variety of print character fonts or styles are available to the user. Many laser printers provide these fonts, either resident on the laser printer controller board or on a font cartridge that can be easily plugged into slots found on the laser printers.
A typical prior art laser printer system 10 is schematically depicted in FIG. 1. The system 10 consists of a laser printer 12, a computer 14, and a plurality of font cartridges 16A and 16B. The printer 12 has a bi-directional data interface with the computer 14 which carries character code and font control commands 17 from the computer 14 and status data 18 from the printer 12. Additionally, the printer 12 accesses the memory content stored on the cartridge 16 via a cartridge address bus 21, and receives the stored font pattern data over data line 20 from the cartridges 16A and 16B.
The printer 12 is comprised of a laser printer controller 22 and a laser print engine 24. The controller 22 sends video data 26 serially to the engine 24, and receives a beam detection (/BD) signal 28 from the engine 24. The /BD signal 28 is used to accomplish synchronization between the controller 22 and the engine 24 on a scanline basis.
The controller 22 consists of an input-output module 30, a microprocessor 32, a firmware ROM module 34, a resident font module ROM 36, a panel interface module 38, a font cartridge interface 40, a working area and frame buffer 42, an engine interface module 44. The input-output module 30 handles the codes and commands 17 from the computer 14, and the status data 18 to the computer 14. The microprocessor 32 handles interpretation and rasterization tasks. The firmware ROM 34 contains the algorithms for accomplishing the interpretation and rasterization tasks. Typically, the controller 22 provides some number of resident fonts, bitmap fonts, or outline fonts, and these are stored in the font ROM 36. The panel interface module 38 displays messages to printer users, and also handles user inquiries entered into the user panel (not shown in FIG. 1). The cartridge interface 40 provides the address decoding necessary to access, via the cartridge address bus 21, the proper location in the font memory (not shown in FIG. 1). The cartridge interface 40 also provides the data buffering functions necessary to receive the stored font pattern data via data line 20. The RAM 42 is the working RAM space required to execute the algorithms contained in the firmware ROM 34. Finally, the engine interface 44 fetches the bitmap data in the RAM 42, serializes the data word into the bitwise data string 26 and sends it to the print engine 24. In addition, the interface 44 receives /BD data 28 and sends it to the RAM 42 for processing by the algorithms contained in the firmware ROM 34.
Referring now to FIG. 2. Laser printers in the prior art typically provide two font cartridge interface slots (not shown in FIG. 2). A slot can accommodate a font cartridge 16 with a 21-bit wide address 46 thereby accessing a maximum of 2 megabytes of font pattern data stored on the cartridge 16. During a read cycle, the 21-bit address 46 is sent from the cartridge interface 40, to the cartridge 16, via the address bus 21. The memory location corresponding to the 21-bit address contains the font pattern data (not shown in FIG. 2). The font pattern data is sent from the cartridge 16 to the cartridge interface 40, via the data line 20 (not shown in FIG. 2). Since the pattern data flows in a uni-directional (i.e. read-only) path 48 from the cartridge 16 to the cartridge interface 40, writing data or code to the cartridge 16 is prohibited.
A major problem in the prior art is that the microprocessor 32 is overloaded with computationally intensive tasks. The font pattern data received by the cartridge interface 40 must be processed by the microprocessor 32 into an outline font data set and then into bitmap character data and then is transferred to the RAM 42 and ultimately ported to the engine 24. This is a computationally intensive task for the microprocessor 32 to perform and slows down the overall through-put of the printer 12. A co-processor installed on board the cartridge 16 could alleviate the microprocessor 32 of some computational tasks by processing the pattern data into the bitmap character data. Since the co-processor typically renders the bitmap character data at a much faster speed than the microprocessor 32 can, a significant increase in through-put performance can be achieved. However, placing the co-processor on board the cartridge 16 would require input to the co-processor from the microprocessor 32. The problem is that the cartridge 16 cannot accommodate a write operation from the microprocessor 32 to the co-processor since the data line 20 is uni-directional in the read-only direction. This severe interface limitation precludes putting any processing capability on-board the font cartridge thereby limiting the processing through-put of the laser print.
Another problem in the prior art is the relatively small number of font patterns that are accessible by the laser printer. One prior art invention that attempts to solve this problem just increases the number of font cartridges that can be simultaneously connected to the printer, i.e. increases the number of font cartridge slots available on the printer. Chen et al. (U.S. Pat. No. 4,908,637) discloses a technique to increase the number of font cartridge slots on a laser printer. A one piece adaptor device has one end that is fitted for connection into the font cartridge slot existing on the printer. The other end of the adapter can accommodate the insertion of two standard font cartridges. Thus, Chen's device expands the number of font cartridge slots physically available on a laser printer yet the number of fonts accessible on any one cartridge is still limited by the address space assigned to the font cartridge slot. Since the most efficient way to access all the available fonts is to store as many fonts on the font cartridge as possible it is highly desirable to increase the font memory size resident on the font cartridges. The problem is that the address bus 21 to the cartridges limits the accessible memory space. As discussed previously, a maximum of 2 megabytes can be accessed with the 21-bit wide address scheme 46 common to prior art font cartridges. Placing a large number of fonts on a cartridge would quickly overload the access capability of the font cartridges. For example, the Asian language font such as the Japanese Kanji ideograph glyph requires an outline font data set that takes more than 5 megabytes of space allocation which exceeds the address space allocated for font cartridge slots on the most popular family of laser printers. Thus the laser printers are limited to a relatively small set of font patterns by the addressing scheme 46 found on the font cartridges typical in the prior art.